using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Practices.ObjectBuilder;
using Microsoft.Practices.CompositeWeb;
using System.Transactions;
using GC2.Entities.Admin;
using GC2.ExceptionHandler.Services;
using GC2.DataAccess.DAAdmin;

namespace GC2.Bussines.BMAdmin
{
    public class BMInformes
    {
        #region Propiedades
        public BMInformes(string coneccion) 
        {
            this.Connection = coneccion;
        }

        private string connection = "";
        public string Connection
        {
            get { return connection; }
            set { connection = value; }
        }
        #endregion

        #region FlujoFondos7
        public List<Fondos> FlujoFondos7(DateTime fechaD, DateTime fechaH, List<Ingresos> listaIngresos, List<Egresos> listaEgresos)
        {
            try
            {
                List<Fondos> listaFondos = new List<Fondos>();
                foreach (Ingresos item in listaIngresos)
                {
                    Fondos fondo = new Fondos();
                    fondo.Concepto = item.Concepto;
                    fondo.Fecha = item.Fecha;
                    fondo.Id_Agente = item.Id_Cliente;
                    fondo.Id_Caja = item.Id_Caja;
                    fondo.Id_Concepto = item.Id_Concepto;
                    fondo.Id_Fondo = item.Id_Ingreso;
                    fondo.Id_Operacion = item.Id_Venta;
                    fondo.Id_Usuario = item.Id_Usuario;
                    fondo.Monto = item.Monto;
                    fondo.Observaciones = item.Observaciones;
                    fondo.Tipo = 1; // Ingresos

                    listaFondos.Add(fondo);
                }
                foreach (Egresos item in listaEgresos)
                {
                    Fondos fondo = new Fondos();
                    fondo.Concepto = item.Concepto;
                    fondo.Fecha = item.Fecha;
                    fondo.Id_Agente = item.Id_Proveedor;
                    fondo.Id_Caja = item.Id_Caja;
                    fondo.Id_Concepto = item.Id_Concepto;
                    fondo.Id_Fondo = item.Id_Egreso;
                    fondo.Id_Operacion = item.Id_Compra;
                    fondo.Id_Usuario = item.Id_Usuario;
                    fondo.Monto = item.Monto;
                    fondo.Observaciones = item.Observaciones;
                    fondo.Tipo = 2; // Egresos

                    listaFondos.Add(fondo);
                }
                return listaFondos;
            }
            catch (Exception ex) { throw ex; }
        }
        #endregion
    }
}
